Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[DevOverlay] Add Turbopack story for Error Containers #74834

Conversation

devjiwonchoi
Copy link
Member

@devjiwonchoi devjiwonchoi commented Jan 13, 2025

This PR added the Turbopack story for Error Containers: BuildError, Errors, and RootLayoutMissingTagsError.

@ijjk ijjk added created-by: Next.js team PRs by the Next.js team. type: next labels Jan 13, 2025
Copy link
Member Author

This stack of pull requests is managed by Graphite. Learn more about stacking.

@devjiwonchoi devjiwonchoi marked this pull request as ready for review January 13, 2025 20:15
@devjiwonchoi devjiwonchoi requested a review from gaojude January 13, 2025 20:16
@ijjk
Copy link
Member

ijjk commented Jan 13, 2025

Failing test suites

Commit: bdfd0cd

pnpm test test/integration/clean-distdir/test/index.test.js

  • Cleaning distDir > production mode > should clean up .next before build start
  • Cleaning distDir > production mode > disabled write > should not clean up .next before build start
Expand output

● Cleaning distDir › production mode › should clean up .next before build start

thrown: "Exceeded timeout of 60000 ms for a test.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  25 |
  26 | const runTests = () => {
> 27 |   it('should clean up .next before build start', async () => {
     |   ^
  28 |     await checkFileWrite(false)
  29 |   })
  30 | }

  at it (integration/clean-distdir/test/index.test.js:27:3)
  at runTests (integration/clean-distdir/test/index.test.js:40:7)
  at integration/clean-distdir/test/index.test.js:33:56
  at Object.describe (integration/clean-distdir/test/index.test.js:32:1)

● Cleaning distDir › production mode › disabled write › should not clean up .next before build start

command failed with code 1 signal null
   Loading config from /root/actions-runner/_work/next.js/next.js/test/integration/clean-distdir/next.config.js
   Loading config from /root/actions-runner/_work/next.js/next.js/test/integration/clean-distdir/next.config.js
   ▲ Next.js 15.2.0-canary.8

   Linting and checking validity of types ...

 ⚠ The Next.js plugin was not detected in your ESLint configuration. See https://nextjs.org/docs/app/api-reference/config/eslint#migrating-existing-config
   Creating an optimized production build ...
   Loading config from /root/actions-runner/_work/next.js/next.js/test/integration/clean-distdir/next.config.js
   Loading config from /root/actions-runner/_work/next.js/next.js/test/integration/clean-distdir/next.config.js
   Loading config from /root/actions-runner/_work/next.js/next.js/test/integration/clean-distdir/next.config.js
 ✓ Compiled successfully
   Collecting page data ...

> Build optimization failed: found page without a React Component as default export in 
pages/

See https://nextjs.org/docs/messages/page-without-valid-component for more info.

  308 |       ) {
  309 |         return reject(
> 310 |           new Error(
      |           ^
  311 |             `command failed with code ${code} signal ${signal}\n${mergedStdio}`
  312 |           )
  313 |         )

  at ChildProcess.<anonymous> (lib/next-test-utils.ts:310:11)

Read more about building and testing Next.js in contributing.md.

__NEXT_EXPERIMENTAL_PPR=true pnpm test-dev test/e2e/opentelemetry/client-trace-metadata/client-trace-metadata.test.ts (PPR)

  • clientTraceMetadata > app router > should inject propagation data for a dynamically server-side-rendered page
  • clientTraceMetadata > app router > hard loading a dynamic page twice should yield different dynamic trace data
  • clientTraceMetadata > app router > should only insert the client trace metadata once
  • clientTraceMetadata > app router > next dev only > should inject propagation data for a statically server-side-rendered page
  • clientTraceMetadata > app router > next dev only > soft navigating to a dynamic page should not transform previous propagation data
  • clientTraceMetadata > app router > next dev only > soft navigating to a static page should not transform previous propagation data
  • clientTraceMetadata > pages router > should inject propagation data for a dynamically server-side-rendered page
  • clientTraceMetadata > pages router > hard loading a dynamic page twice should yield different dynamic trace data
  • clientTraceMetadata > pages router > next dev only > should inject propagation data for a statically server-side-rendered page
  • clientTraceMetadata > pages router > next dev only > soft navigating to a dynamic page should not transform previous propagation data
  • clientTraceMetadata > pages router > next dev only > soft navigating to a static page should not transform previous propagation data
Expand output

● clientTraceMetadata › app router › should inject propagation data for a dynamically server-side-rendered page

Failed to start server after 10000ms, waiting for this log pattern: / ✓ Ready in /

  370 |     return setTimeout(() => {
  371 |       reject(
> 372 |         new Error(
      |         ^
  373 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  374 |         )
  375 |       )

  at Timeout._onTimeout (lib/next-modes/base.ts:372:9)

● clientTraceMetadata › app router › hard loading a dynamic page twice should yield different dynamic trace data

Failed to start server after 10000ms, waiting for this log pattern: / ✓ Ready in /

  370 |     return setTimeout(() => {
  371 |       reject(
> 372 |         new Error(
      |         ^
  373 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  374 |         )
  375 |       )

  at Timeout._onTimeout (lib/next-modes/base.ts:372:9)

● clientTraceMetadata › app router › should only insert the client trace metadata once

Failed to start server after 10000ms, waiting for this log pattern: / ✓ Ready in /

  370 |     return setTimeout(() => {
  371 |       reject(
> 372 |         new Error(
      |         ^
  373 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  374 |         )
  375 |       )

  at Timeout._onTimeout (lib/next-modes/base.ts:372:9)

● clientTraceMetadata › app router › next dev only › should inject propagation data for a statically server-side-rendered page

Failed to start server after 10000ms, waiting for this log pattern: / ✓ Ready in /

  370 |     return setTimeout(() => {
  371 |       reject(
> 372 |         new Error(
      |         ^
  373 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  374 |         )
  375 |       )

  at Timeout._onTimeout (lib/next-modes/base.ts:372:9)

● clientTraceMetadata › app router › next dev only › soft navigating to a dynamic page should not transform previous propagation data

Failed to start server after 10000ms, waiting for this log pattern: / ✓ Ready in /

  370 |     return setTimeout(() => {
  371 |       reject(
> 372 |         new Error(
      |         ^
  373 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  374 |         )
  375 |       )

  at Timeout._onTimeout (lib/next-modes/base.ts:372:9)

● clientTraceMetadata › app router › next dev only › soft navigating to a static page should not transform previous propagation data

Failed to start server after 10000ms, waiting for this log pattern: / ✓ Ready in /

  370 |     return setTimeout(() => {
  371 |       reject(
> 372 |         new Error(
      |         ^
  373 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  374 |         )
  375 |       )

  at Timeout._onTimeout (lib/next-modes/base.ts:372:9)

● clientTraceMetadata › pages router › should inject propagation data for a dynamically server-side-rendered page

Failed to start server after 10000ms, waiting for this log pattern: / ✓ Ready in /

  370 |     return setTimeout(() => {
  371 |       reject(
> 372 |         new Error(
      |         ^
  373 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  374 |         )
  375 |       )

  at Timeout._onTimeout (lib/next-modes/base.ts:372:9)

● clientTraceMetadata › pages router › hard loading a dynamic page twice should yield different dynamic trace data

Failed to start server after 10000ms, waiting for this log pattern: / ✓ Ready in /

  370 |     return setTimeout(() => {
  371 |       reject(
> 372 |         new Error(
      |         ^
  373 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  374 |         )
  375 |       )

  at Timeout._onTimeout (lib/next-modes/base.ts:372:9)

● clientTraceMetadata › pages router › next dev only › should inject propagation data for a statically server-side-rendered page

Failed to start server after 10000ms, waiting for this log pattern: / ✓ Ready in /

  370 |     return setTimeout(() => {
  371 |       reject(
> 372 |         new Error(
      |         ^
  373 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  374 |         )
  375 |       )

  at Timeout._onTimeout (lib/next-modes/base.ts:372:9)

● clientTraceMetadata › pages router › next dev only › soft navigating to a dynamic page should not transform previous propagation data

Failed to start server after 10000ms, waiting for this log pattern: / ✓ Ready in /

  370 |     return setTimeout(() => {
  371 |       reject(
> 372 |         new Error(
      |         ^
  373 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  374 |         )
  375 |       )

  at Timeout._onTimeout (lib/next-modes/base.ts:372:9)

● clientTraceMetadata › pages router › next dev only › soft navigating to a static page should not transform previous propagation data

Failed to start server after 10000ms, waiting for this log pattern: / ✓ Ready in /

  370 |     return setTimeout(() => {
  371 |       reject(
> 372 |         new Error(
      |         ^
  373 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  374 |         )
  375 |       )

  at Timeout._onTimeout (lib/next-modes/base.ts:372:9)

Read more about building and testing Next.js in contributing.md.

pnpm test-start test/e2e/app-dir/segment-cache/incremental-opt-in/segment-cache-incremental-opt-in.test.ts

  • segment cache (incremental opt in) > prefetches a shared layout on a PPR-enabled route that was previously omitted from a non-PPR-enabled route
Expand output

● segment cache (incremental opt in) › prefetches a shared layout on a PPR-enabled route that was previously omitted from a non-PPR-enabled route

thrown: "Exceeded timeout of 120000 ms for a test.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  94 |   })
  95 |
> 96 |   it(
     |   ^
  97 |     'prefetches a shared layout on a PPR-enabled route that was previously ' +
  98 |       'omitted from a non-PPR-enabled route',
  99 |     async () => {

  at it (e2e/app-dir/segment-cache/incremental-opt-in/segment-cache-incremental-opt-in.test.ts:96:3)
  at Object.describe (e2e/app-dir/segment-cache/incremental-opt-in/segment-cache-incremental-opt-in.test.ts:5:1)

Read more about building and testing Next.js in contributing.md.

@ijjk
Copy link
Member

ijjk commented Jan 13, 2025

Stats from current PR

Default Build
General Overall increase ⚠️
vercel/next.js canary vercel/next.js 01-14-_devoverlay_add_turbopack_story_for_error_containers Change
buildDuration 22.8s 21s N/A
buildDurationCached 20s 17.7s N/A
nodeModulesSize 417 MB 417 MB ⚠️ +7.74 kB
nextStartRea..uration (ms) 532ms 539ms N/A
Client Bundles (main, webpack)
vercel/next.js canary vercel/next.js 01-14-_devoverlay_add_turbopack_story_for_error_containers Change
5306-HASH.js gzip 53.4 kB 53.4 kB N/A
8276.HASH.js gzip 169 B 168 B N/A
8377-HASH.js gzip 5.44 kB 5.44 kB N/A
bccd1874-HASH.js gzip 52.9 kB 52.9 kB N/A
framework-HASH.js gzip 57.5 kB 57.5 kB N/A
main-app-HASH.js gzip 240 B 242 B N/A
main-HASH.js gzip 34.2 kB 34.2 kB N/A
webpack-HASH.js gzip 1.71 kB 1.71 kB N/A
Overall change 0 B 0 B
Legacy Client Bundles (polyfills)
vercel/next.js canary vercel/next.js 01-14-_devoverlay_add_turbopack_story_for_error_containers Change
polyfills-HASH.js gzip 39.4 kB 39.4 kB
Overall change 39.4 kB 39.4 kB
Client Pages
vercel/next.js canary vercel/next.js 01-14-_devoverlay_add_turbopack_story_for_error_containers Change
_app-HASH.js gzip 193 B 193 B
_error-HASH.js gzip 193 B 193 B
amp-HASH.js gzip 512 B 510 B N/A
css-HASH.js gzip 343 B 342 B N/A
dynamic-HASH.js gzip 1.84 kB 1.84 kB
edge-ssr-HASH.js gzip 265 B 265 B
head-HASH.js gzip 363 B 362 B N/A
hooks-HASH.js gzip 393 B 392 B N/A
image-HASH.js gzip 4.57 kB 4.57 kB N/A
index-HASH.js gzip 268 B 268 B
link-HASH.js gzip 2.35 kB 2.34 kB N/A
routerDirect..HASH.js gzip 328 B 328 B
script-HASH.js gzip 397 B 397 B
withRouter-HASH.js gzip 323 B 326 B N/A
1afbb74e6ecf..834.css gzip 106 B 106 B
Overall change 3.59 kB 3.59 kB
Client Build Manifests
vercel/next.js canary vercel/next.js 01-14-_devoverlay_add_turbopack_story_for_error_containers Change
_buildManifest.js gzip 749 B 747 B N/A
Overall change 0 B 0 B
Rendered Page Sizes
vercel/next.js canary vercel/next.js 01-14-_devoverlay_add_turbopack_story_for_error_containers Change
index.html gzip 524 B 523 B N/A
link.html gzip 539 B 538 B N/A
withRouter.html gzip 520 B 520 B
Overall change 520 B 520 B
Edge SSR bundle Size
vercel/next.js canary vercel/next.js 01-14-_devoverlay_add_turbopack_story_for_error_containers Change
edge-ssr.js gzip 129 kB 129 kB N/A
page.js gzip 207 kB 207 kB N/A
Overall change 0 B 0 B
Middleware size
vercel/next.js canary vercel/next.js 01-14-_devoverlay_add_turbopack_story_for_error_containers Change
middleware-b..fest.js gzip 669 B 668 B N/A
middleware-r..fest.js gzip 155 B 156 B N/A
middleware.js gzip 31.3 kB 31.3 kB N/A
edge-runtime..pack.js gzip 844 B 844 B
Overall change 844 B 844 B
Next Runtimes
vercel/next.js canary vercel/next.js 01-14-_devoverlay_add_turbopack_story_for_error_containers Change
274-experime...dev.js gzip 322 B 322 B
274.runtime.dev.js gzip 314 B 314 B
app-page-exp...dev.js gzip 369 kB 369 kB N/A
app-page-exp..prod.js gzip 130 kB 130 kB
app-page-tur..prod.js gzip 142 kB 142 kB
app-page-tur..prod.js gzip 138 kB 138 kB
app-page.run...dev.js gzip 357 kB 357 kB N/A
app-page.run..prod.js gzip 126 kB 126 kB
app-route-ex...dev.js gzip 37.6 kB 37.6 kB
app-route-ex..prod.js gzip 25.6 kB 25.6 kB
app-route-tu..prod.js gzip 25.6 kB 25.6 kB
app-route-tu..prod.js gzip 25.4 kB 25.4 kB
app-route.ru...dev.js gzip 39.2 kB 39.2 kB
app-route.ru..prod.js gzip 25.4 kB 25.4 kB
pages-api-tu..prod.js gzip 9.69 kB 9.69 kB
pages-api.ru...dev.js gzip 11.6 kB 11.6 kB
pages-api.ru..prod.js gzip 9.68 kB 9.68 kB
pages-turbo...prod.js gzip 21.7 kB 21.7 kB
pages.runtim...dev.js gzip 27.5 kB 27.5 kB
pages.runtim..prod.js gzip 21.7 kB 21.7 kB
server.runti..prod.js gzip 916 kB 916 kB
Overall change 1.73 MB 1.73 MB
build cache
vercel/next.js canary vercel/next.js 01-14-_devoverlay_add_turbopack_story_for_error_containers Change
0.pack gzip 2.1 MB 2.09 MB N/A
index.pack gzip 75 kB 74.1 kB N/A
Overall change 0 B 0 B
Diff details
Diff for main-HASH.js

Diff too large to display

Diff for app-page-exp..ntime.dev.js
failed to diff
Diff for app-page.runtime.dev.js
failed to diff
Commit: bdfd0cd

@devjiwonchoi devjiwonchoi force-pushed the 01-14-_devoverlay_add_turbopack_story_for_error_containers branch from 32e9a08 to bdfd0cd Compare January 14, 2025 05:34
@devjiwonchoi devjiwonchoi force-pushed the 01-14-_devoverlay_add_turbopack_story_for_error_containers branch from bdfd0cd to 8f9442c Compare January 14, 2025 13:31
@devjiwonchoi devjiwonchoi merged commit c8251c3 into canary Jan 14, 2025
123 of 129 checks passed
@devjiwonchoi devjiwonchoi deleted the 01-14-_devoverlay_add_turbopack_story_for_error_containers branch January 14, 2025 13:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants